|
In programming language theory, the qualification principle states that any semantically meaningful syntactic class may admit local definitions. In other words, it's possible to include a ''block'' in any syntactic class, provided that the phrases of that class specify some kind of computation. A common examples for of this principle includes: * block command -- a command containing a local declaration, which is used only for executing this command. In the following excerpt from a C program, tmp variable declared is local to the surrounding block command:if (a > b) * block expression -- an expression containing a local declaration, which is used only for evaluating this expression. In the following excerpt from ML program, local declaration of g can be used only during evaluation of the following expression:let val g = 9.8 in m * g * h end * block declaration is one containing a local declaration, the bindings produced by which are used only for elaborating the block declaration. In the following excerpt from ML program, local declaration of function leap , using an auxiliary function multiple :local fun multiple (n: int, d: int) = (n mod d = 0) in fun leap (y: int) = (multiple (y,4) andalso not multiple (y, 100)) orelse multiple (y,400) end == References == * 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Qualification principle」の詳細全文を読む スポンサード リンク
|